Awesome Music
      
    
    
      A categorized collection of awesome music libraries, tools, frameworks and
      software.
    
    
      Contributions and suggestions are always welcome! Please take a look at
      the
      contribution guidelines and quality standard
      first.
    
    
      Thanks to all
      contributors, you’re awesome and wouldn’t be possible without you!
    
    
    Audio Editing
    
      - 
        Audacity - a free,
        cross-platform digital audio editor.
      
 
      - 
        Ardour - a cross-platform digital audio
        workstation emphasizing audio recording.
      
 
      - 
        LMMS - another cross-platform digital
        audio workstation, more oriented towards making beats.
      
 
    
    Audio Libraries
    
      - 
        audio.js - audio.js is a
        drop-in javascript library that allows HTML5’s <audio> tag to be
        used anywhere.
      
 
      - 
        howler.js - a
        Javascript audio library for the modern web.
      
 
      - 
        JSyn - an audio synthesis
        software API for Java.
      
 
      - 
        Librosa - a python
        package for music and audio analysis, providing the building blocks
        necessary to create music information retrieval systems.
      
 
      - 
        midi.js - a framework
        for creating web-based MIDI apps.
      
 
      - 
        mxml - MusicXML
        parsing and layout library.
      
 
      - 
        PortAudio - a free,
        cross-platform, open-source, audio I/O library.
      
 
      - 
        RustAudio - an aggregate of
        free and useful Audio, DSP and music libraries written in Rust.
      
 
      - 
        Soundpipe - a
        lightweight DSP library written in C.
      
 
    
    
    
      - 
        Beets - a powerful command-line music
        organizer and manipulator.
      
 
      - 
        Cecilia - a
        CSound-based graphical environment for music and signal processing.
      
 
      - 
        cyanrip - rips and
        encodes standard audio CDs with the least effort required from user.
        Cross platform.
      
 
      - 
        fre:ac - free audio
        converter. It supports audio CD ripping and tag editing.
      
 
      - 
        Jack -
        command-line CD ripper.
      
 
      - 
        K3b - is a full-featured
        CD/DVD/Blu-ray burning and ripping application.
      
 
      - 
        Koel - an open-source
        personal audio streaming server.
      
 
      - 
        Lame - a high quality, free
        and open-source MP3 encoder.
      
 
      - 
        lltag - automatic
        command-line mp3/ogg/flac file tagger and renamer.
      
 
      - 
        matchering -
        сontainerized web application and library for automated reference audio
        mastering.
      
 
      - 
        MusicBrainz - Open Encyclopedia
        for Music information and Metadata, providing a unique ID for everything
      
 
      - 
        Musikernel - a
        futuristic audio production platform (hardware support, APIs, hosts,
        plugins and more)
      
 
      - 
        Rubyripper - is a
        secure digital audio extraction application (“cd ripper”) for Unix-like
        operating systems.
      
 
      - 
        SoX - a free open-source
        command line utility for playing, converting and manipulating audio
        files.
      
 
      - 
        split2flac - split
        flac/ape/wv/wav + cue sheet into separate tracks
      
 
      - 
        Whipper - Python
        CD-DA ripper preferring accuracy over speed.
      
 
      - 
        X Audio Copy
        - GTK and GNOME application for ripping CD-Audio and encoding in lossy
        and lossless audio formats.
      
 
    
    Free Music Scores
    
      - 
        cellist/Lilypond-Sheet-Music
        - a collection of music typeset with lilypond (mostly chamber music and
        music for cello).
      
 
      - 
        ciconia/music - a
        collection of mostly baroque music, lots of sacred works by J. S. Bach,
        coded in lilypond/ripple.
      
 
      - 
        CPDL - the choral public domain
        library contains more than 20K free scores of vocal music.
      
 
      - 
        Éditions Nicolas Sceaux
        - baroque music scores (mainly French music), typeset using lilypond.
      
 
      - 
        IMSLP - the International Music Score
        Library Project is the largest collection of public domain scores and
        parts on the web.
      
 
      - 
        Mutopia -
        sheet music based on editions in the public domain.
      
 
      - 
        wbsoft/lilymusic -
        beautiful LilyPond scores under free licenses.
      
 
    
    
    
      - 
        Midifile - C++ library for
        parsing Standard MIDI Files.
      
 
      - 
        Timidity - an open-source
        command line synthesizer that plays MIDI files.
      
 
    
    Music Notation
    
      - 
        Abjad - a Python API for
        Formalized Score Control, based on Lilypond.
      
 
      - 
        Denemo - a free music notation
        editor based on Lilypond.
      
 
      - 
        Digital Music Stand
        - a free web app for displaying sheet music.
      
 
      - 
        Jan Angermüller’s music fonts page
        - A listing and visual comparison of different music fonts.
      
 
      - 
        Frescobaldi - a free
        Lilypond sheet music editor.
      
 
      - 
        Guido - a generic,
        portable library and API for the graphical rendering of musical scores.
      
 
      - 
        Hacklily - online LilyPond-based
        sheet music editor (with optional GitHub integration).
      
 
      - 
        i-score - a software for
        interactive music notation, with DAW features.
      
 
      - 
        Inknote -
        free, open source, browser based music notation and composition
        software.
      
 
      - 
        LibMEI - a C++ library for
        reading and writing MEI files.
      
 
      - 
        Lilybin - an open source web-based
        LilyPond editor.
      
 
      - 
        Lilypond - free, open-source music
        engraving program, devoted to producing the highest-quality sheet music
        possible.
      
 
      - 
        Lilypond cook book
        - tips & tricks for getting the most out of lilypond.
      
 
      - 
        Lilypond Snippet Repository - an
        online database of Lilypond snippets ideas, features and hacks.
      
 
      - 
        Lilyvm - Lilypond
        version manager.
      
 
      - 
        Lydown - a modern
        language for music notation, based on Lilypond.
      
 
      - 
        Lyp - the Lilypond swiss
        army knife - easily install packages, manage multiple versions of
        Lilypond, and other tools for power users.
      
 
      - 
        MuseScore - free
        open-source music notation and composition software.
      
 
      - 
        MusicKit - Music
        sheet rendering for iOS and OSX.
      
 
      - 
        NOTATIO - a forum devoted to the practice
        of music notation.
      
 
      - 
        OpenLilyLib -
        LilyPond tools - snippets, templates, and extensions.
      
 
      - 
        OpenSheetMusicDisplay
        - Typescript library for rendering MusicXML in the browser.
      
 
      - 
        Python-ly - a tool
        and library for manipulating LilyPond files.
      
 
      - 
        Ripple - DRY for
        Lilypond - generate scores and parts with minimal fuss.
      
 
      - 
        Scorelib - a C++ library for
        parsing SCORE data files.
      
 
      - 
        Tbon - Typographic
        Beat-Oriented Notation for music.
      
 
      - 
        Tunefl - LilyPond
        mini-score engraving and sharing service for musicians.
      
 
      - 
        Verovio - a library and
        a toolkit for engraving MEI music notation into SVG.
      
 
      - 
        Vexflow - a JavaScript
        library for rendering music notation and guitar tablature.
      
 
    
    Music Programming
    
      - 
        Alda - a music
        programming language for musicians.
      
 
      - 
        Bach: Automated Composer’s Helper
        - a cross-platform set of patches and externals for Max, aimed to bring
        the richness of computer-aided composition into the real-time world.
      
 
      - 
        Chuck - strongly-timed,
        concurrent, and on-the-fly music programming language.
      
 
      - 
        CoffeeCollider
        - a language for real time audio synthesis and algorithmic composition
        in HTML5. “Write CoffeeScript, and be processed as SuperCollider.”
      
 
      - 
        Common Music - an open
        source music composition system.
      
 
      - 
        Csound - a user-programmable and
        user-extensible sound processing language and software synthesizer.
      
 
      - 
        Faust - a functional programming
        language specifically designed for real-time signal processing and
        synthesis.
      
 
      - 
        IanniX - a graphical
        open-source sequencer, based on Iannis Xenakis works, for digital art.
      
 
      - 
        Inscore - an environmnent
        for the design of interactive, augmented music scores.
      
 
      - 
        Leipzig - a composition
        library for Overtone.
      
 
      - 
        Midica - MIDI programming
        language with decompiler and player, supports karaoke.
      
 
      - 
        music21 - A Toolkit for
        Computational Musicology.
      
 
      - 
        Music Suite - a
        language for generalized music notation and theory, based on Haskell.
      
 
      - 
        Nyquist - a sound
        synthesis and composition language.
      
 
      - 
        OpenMusic - a visual
        programming language based on Lisp.
      
 
      - 
        Orca - live
        programming environment for music.
      
 
      - 
        Overtone - an Open
        Source toolkit for designing synthesizers and collaborating with music.
      
 
      - 
        Platonic Music Engine
        - an open-source music generation framework written in Lua.
      
 
      - 
        Pure Data - a visual programming
        language for audio and other multimedia.
      
 
      - 
        py-modular - a modular
        and experimental programming environment with basic DSP routines in
        python.
      
 
      - 
        Sonic Pi - a live coding synth with
        an emphasis on educational use.
      
 
      - 
        Sporth - a small stack
        based audio language.
      
 
      - 
        SuperCollider - a
        programming language for real time audio synthesis and algorithmic
        composition.
      
 
      - 
        Tidal - a language built on Haskell
        for live coding patterns.
      
 
    
    Music Theory Teaching
    
    Standards
    
    Other Awesomeness
    
    
    
      Other amazingly awesome lists can be found in the
      
      list.
    
    License
    
      
    
    
      To the extent possible under law,
      Sharon Rosner has waived all
      copyright and related or neighboring rights to this work.